iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
Python

30天Python學習之旅系列 第 11

Day 11 : 錯誤與異常處理

  • 分享至 

  • xImage
  •  

在開發應用程式的過程中,處理錯誤和異常是非常重要的技能,即使是最有經驗的開發者,也難免會遇到各種錯誤或不可預測的狀況。因此,掌握如何處理錯誤和異常,能夠讓程式更加穩定,並且提升使用者的體驗,所以今天要學習的是異常處理機制和捕捉並處理錯誤,若程式碼中有錯誤或未正確處理,可能會導致程式無法運行或出現預期外的行為。

什麼是異常?

異常是一種在程式執行過程中發生的錯誤。通常,當 Python 遇到一個錯誤時,它會丟出一個異常,並且中斷程式的執行。例如,試圖除以零或訪問不存在的檔案都會導致異常的發生。為了避免這種情況,開發者需要提前考慮並處理可能出現的錯誤。

基本的異常處理:try-except 語句
如果預計某段程式碼可能會出現異常時,可以將這段程式碼放在 try 區塊中,並在 except 區塊中定義當異常發生時應該執行的操作。
https://ithelp.ithome.com.tw/upload/images/20240924/20169078C3gNaGWYCS.png
當程式遇到異常時,會跳到 except 區塊執行錯誤處理邏輯,並且不會讓程式碼中斷執行。

捕捉多種異常
有時候,一個 try 區塊可能會出現多種異常。你可以使用多個 except 區塊來分別處理不同類型的錯誤。
若輸入非0數字就不會出現錯誤:
https://ithelp.ithome.com.tw/upload/images/20240924/20169078UyJODlomMd.png
輸入0就會發生錯誤,因為不能除以0:
https://ithelp.ithome.com.tw/upload/images/20240924/20169078g3f0kel1Sy.png
輸入非數字內容也會出現錯誤:
https://ithelp.ithome.com.tw/upload/images/20240924/20169078qTCu7uTagk.png
在這個例子中,處理了兩種常見的錯誤:ValueError(當輸入的不是有效數字時)和 ZeroDivisionError(當數字是 0 時)。

使用 finally 區塊
無論是否出現異常,finally 中的程式碼都會執行。這在資源管理(如檔案處理或網路連線的釋放)上特別有用。
https://ithelp.ithome.com.tw/upload/images/20240924/20169078WnTWM1ftKq.png
在這裡,即使發生異常,檔案仍然會在 finally 區塊中被安全關閉。

自訂異常
除了 Python 提供的內建異常,開發者還可以自訂異常來處理特定的錯誤狀況,這在大型專案中尤其有用。
https://ithelp.ithome.com.tw/upload/images/20240924/201690780PqFsk8c2k.png
這樣可以根據特定需求來創建專屬的錯誤處理邏輯。

今天我學會了使用 try-except 語句來處理錯誤與異常,並且學習了如何使用 finally 來確保資料正確,處理錯誤與異常能夠讓程式更加穩定,避免因為未處理的錯誤而無法運行。明天將繼續學習 Python 的進階技巧,進一步提升我的程式設計能力!大家一起努力不中斷!!!


上一篇
Day 10 : 理解與應用 Python 的檔案操作
下一篇
Day 12 : 模組與套件的使用
系列文
30天Python學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言